Methods and systems for speed dialing

ABSTRACT

Systems and methods for configuring and using speed dialing are described. A first user interface is displayed to a user, the first user interface providing a name field configured to display and/or receive a contact name and a phone address field configured to display and/or receive a phone address associated with the contact name. A speed dial field configured to receive and/or display a speed dial identifier associated with the phone address is provided. When the user later enters speed dial identifier via a telephone, the phone address is called.

CROSS-REFERENCE TO RELATED APPLICATIONS

The is a continuation of U.S. patent application Ser. No. 11/740,550,filed Apr. 26, 2007, which claims priority from U.S. Patent ApplicationNo. 60/796,441, filed May 1, 2006, the contents of which areincorporated herein in their entirety.

STATEMENT REGARDING FEDERALLY SPONSORED R&D

Not applicable.

PARTIES OF JOINT RESEARCH AGREEMENT

Not applicable.

REFERENCE TO SEQUENCE LISTING, TABLE, OR COMPUTER PROGRAM LISTING

Not applicable.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to telecommunications and inparticular, to systems and methods for placing a call from a calling toa called party.

2. Description of the Related Art

In conventional telephone networks, users have the ability to placecalls by dialing the phone number of the party to be called. In somecases, the network can be programmed by the user to speed dial orabbreviated dial frequently called numbers. For example, oneconventional speed dialing service allows a user to place a call toseveral (e.g., 8 or 30) local and long distance numbers from aconventional phone in a user's home by dialing just one or two digits. Acustomer lifts the phone receiver, listens for dial tone, presses thecode (e.g., 2 through 9) for the number to be dialed, and then presses“#”.

One reason existing conventional solutions have not gained sufficientpopularity is that many users find it difficult to remember which phonenumbers are associated with which codes. In addition, the userinterfaces for programming speed dial numbers are often cumbersome anddifficult to use. By way of illustration, in the example conventionalspeed dialing service described above, the following steps are needed toprogram a speed dial number into the network.

Step 1. Lift the receiver and listen for dial tone.

Step 2. Press 7, 4, #, or *, 7, 4.

Step 3. Listen for a dial tone.

Step 4. Press the speed code (2 through 9).

Step 5. Dial the desired number.

Step 6. Listen for the confirmation tone.

Step 7. Hang up or wait for a dial tone.

SUMMARY OF THE INVENTION

Certain example embodiments are described that provide enhanced methodsand systems for assigning speed dial addresses/identifiers, and forutilizing the assigned speed dials address for calling called parties.Certain optional embodiments enable a user to utilize a visual and/oraudible user interface in assigning speed dial numbers/text. Optionally,a user interface may be presented to the user via a personal computer orother terminal.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described withreference to the drawings summarized below. These drawings and theassociated description are provided to illustrate example embodiments ofthe invention, and not to limit the scope of the invention.

FIG. 1 illustrates an example network operating environment for advancedtelecommunications services.

FIG. 2 depicts an example speed dialing process.

FIG. 3 depicts another example speed dialing process.

FIG. 4A illustrates an example user interface providing a call log and alisting of contacts.

FIG. 4B illustrates an example user interface for editing a contactrecord.

FIG. 5 illustrates an example speed dial assignment user interface.

FIG. 6 illustrates another client call log and user contacts userinterface.

FIG. 7 illustrates still another example user interface of a call logdisplayed via a web browser.

FIGS. 8A-B illustrate yet another example user interface.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Embodiments of the present invention provide methods and systems thatenable a user to configure and use network-based speed dialing services.In contrast to many conventional user interfaces, certain exampleembodiments of the configuring processes and apparatus disclosed hereinoptionally take advantage of a networked terminal (e.g., hosting atelecommunications client and/or a browser) connected to the telephonenetwork over a data network, such as the Internet or other packetnetwork.

In addition, certain embodiments use the SS7 Advanced IntelligentNetwork (AIN) interface in the switches of service providers topersonalize the speed dial list for a landline phone using a user'scontact information. Optionally, a user, such as a customer, may specifya speed dial address (e.g., a number and/or character string, sometimesreferred to as an identifier) for a contact via a Web page hosted by awebsite, or via a telecommunications client. In an example embodiment,at least partly in response, a softswitch, acting as a Service ControlPoint (SCP) in the SS7 network, sends a non-call related message to theservice provider's Service Switching Point (SSP) to request a change inthe customer's speed dial list, which is stored on the SSP or on asystem coupled to the SSP. The customer can then, optionally, pick uptheir phone and dial the speed dial number (e.g., one or moredigits/letter combinations) to originate a call to that contact.

While certain example scenarios described herein use circuit switchedSS7-based networks, other networks such as, by way of example and notlimitation, the Wireless Intelligent Network (WIN), WiFi, WiMax,SIP/VoIP networks, or future networks, can also be used to provide speeddialing services.

Throughout the present description, the term “website” or “Web” is usedto refer to a user-accessible network site that implements the basicWorld Wide Web standards for the coding and transmission of hypertextualdocuments. These standards currently include HTML (the Hypertext MarkupLanguage) and HTTP (the Hypertext Transfer Protocol). It should beunderstood that the term “site” is not intended to imply a singlegeographic location, as a Web or other network site can, for example,include multiple geographically distributed computer systems that areappropriately linked together. Furthermore, while the followingdescription relates to an embodiment utilizing the Internet and relatedprotocols, other networks, such as networked interactive televisions,and other protocols may be used as well.

Further, while the present description refers to example network andtelephony standards and protocols, other standards and protocols can beused as well. In addition, while references may be made to electronicaddress books or contact lists, other data stores and formats can beused to store contact information. While certain condition monitors,such as intelligent network triggers or provisioning interfaces arereferred to herein, other triggers, events, or provisioning interfacescan be used as well.

In addition, unless otherwise indicated, the functions described hereinmay be performed by executable code and instructions stored in computerreadable memory and running on one or more processor-based systems.However, state machines, and/or hardwired electronic circuits can alsobe utilized. Further, with respect to the example processes describedherein, not all the process states need to be reached, nor do the stateshave to be performed in the illustrated order. Further, certain processstates that are illustrated as being serially performed can be performedin parallel.

Similarly, while certain examples may refer to a personal computersystem or data device, other computer or electronic systems can be usedas well, such as, without limitation, an interactive television, anetworked-enabled personal digital assistant (PDA), a networked gameconsole, a networked entertainment device, a smart phone, and so on.While certain references are made to certain example system componentsor services, other components and services can be used as well. Inaddition, while certain user inputs are described as being provided viaphone key presses or by clicking on a button, optionally, user inputscan be provided using other techniques, such as by voice or otherwise.While certain phone numbers are referenced for purposes of illustration,other phone numbers or electronic addresses or locators can be used aswell. Similarly, while certain speed dial numbers are referred to forpurposes of illustrates, or speed dial numbers or codes can be used aswell.

The term phone address can include a SIP address, a Skype address (orother peer-to-peer Internet telephony network address), a wireless phonenumber, an International number, an E.164 phone number, or otheraddress. While Skype is referred to herein, other peer-to-peer telephonynetworks (e.g., having a decentralized and distributed user directorydistributed among the nodes in the peer-to-peer telephony network) maybe used as well to receive calls, place calls, and/or transfer calls.While certain phone addresses are referenced for purposes ofillustration, other electronic addresses or locators can be used aswell. While a SIP federated phone may be referred to, other data phone,such as an XMPP federation phone, a Skype phone (or other phone thatcommunicates via a peer-to-peer telephony network), or other networkedphone, which may be in the form of a softphone, may be used. While aspeed dial number may be referred to herein, other speed dialaddresses/identifiers can be used, such as those that are comprised ofone or more letters or other characters.

In addition, while certain call management capabilities described hereinmake use of a telecommunications client (e.g., a personal computerclient, a client hosted on an interactive television, a network personaldigital assistant, a smart phone, or a wireless phone with an Internetconnection, etc.) to give the customer access to and management ofcalls, other user interfaces can be accessed via a browser (e.g., seeexample user interfaces illustrated in FIG. 7) or otherwise. Optionally,a customer can have multiple clients and/or browsers hosted on multiplecomputers or other hosts.

In an example embodiment, the telecommunications client applicationconnects to and communicates with a softswitch via the Internet, anintranet, or other network. The client application, executing on asubscriber's computer terminal or other host, can make the subscriber'sonline presence known to the softswitch (e.g., by transmitting a messageover the Internet to the softswitch). The client can be used to receive,edit, display, and print call log data (and/or contact records) from thesoftswitch (e.g., a list of calls placed to/received by the subscriber,or placed by the subscriber, including phone numbers, caller or calledparty names, date/time of the call, an indication as to whether a callwas an outbound/inbound call, the city/state of the caller/called party,type of call voice or fax, etc.), and call alert data (e.g., for anactive call, listing the caller phone number, name, city/state, and/orcall status (e.g., ringing, playing greeting, recording caller message,terminating call, displaying fax, etc.)). Optionally, the call alertalso plays an audible signal, such as a ring tone.

The client application can display a log of recorded messages fromcallers, and can provide playback controls (e.g., play, pause, fastforward, rewind) for playing back or displaying the recorded message(e.g., a voice message, a video message, a fax message, etc.) via theclient computer terminal. The client optionally can also be used toscreen calls (e.g., wherein the softswitch streams a message being leftby a caller to the client so that the called party can listen to themessage in substantially real time) and to instruct the softswitch toaccept calls on the host computer terminal, forward calls, refuse calls,initiate call conferencing, and to otherwise provide call handlinginstructions.

A telecommunications client is a non-limiting example of a userinterface. FIG. 7 illustrates another example call log user interfacepresented via a browser to a customer. The browser can be executing on acomputer terminal, such as a personal computer, a Wireless ApplicationProtocol (WAP)-enabled phone, a PDA, interactive television, or thelike. The call log can be accessed by supplying the appropriate URL tothe browser (e.g., manually, via a link, or by the terminalautomatically populating the browser address field), and optionallyproviding, automatically or manually, log-on information, such as a username and a password.

Enhanced service providers, such as CallWave, have emerged, providingnew features and functions on ordinary phone calls. By way of example,CallWave provides call screening and transfer features that enhance thecustomer's calling experience, such as those described in U.S. Pat. No.7,103,167 filed May 16, 2003, the contents of which are incorporatedherein in their entirety by reference. Other embodiments of portabilityservices are described in U.S. patent application Ser. No. 11/433,061,filed May 12, 2006, entitled “Systems and Methods for TelecommunicationsAddress Portability,” the contents of which are incorporated herein intheir entirety by reference. Other embodiments of related callmanagement functions—call logging, caller name, call screening,fixed-mobile converged routing, privacy management, and bridgedoutcall—some or all of which can be applied in offering this service,are described in the following patent applications, the contents ofwhich are incorporated by reference in their entirety:

U.S. patent application Ser. No. 11/366,989, filed Mar. 2, 2006,entitled “Methods and Systems for Creating a Dynamic Call Log andContact Records”;

U.S. patent application Ser. No. 11/685,678, filed Mar. 13, 2007,entitled “Methods and Systems for Personalizing Calling/Caller Name”;

U.S. patent application Ser. No. 11/374,390, filed Mar. 13, 2006,entitled “Systems and Methods for Call Screening”;

U.S. patent application Ser. No. 11/480,277, filed Jun. 30, 2006,entitled “Methods and Systems for Call Routing via a Telephone Number”;

U.S. Provisional patent application Ser. No. 11/686,841, filed Mar. 15,2007, entitled “Methods and Systems for Processing Calls Having PrivateCaller Identification in a Telecommunications System”;

U.S. Provisional patent application Ser. No. 11/676,933, filed Feb. 20,2007, entitled “Methods And Systems for Providing Call Screening UsingNetwork Triggers”.

The functionality, operation, and implementation for an example speeddial service will now be described in detail.

GLOSSARY

AIN—Advanced Intelligent Network

CP—Carrier Partner

IP—Intelligent Peripheral

MMS—Multimedia Messaging Service

MSC—Mobile Switching Center

POTS—Plain Old Telephone Service

SCP—Service Control Point

SMS—Short Messaging Service

SS7—Signaling System 7

SSP—Service Switching Point

TCAP—Transaction Capabilities Application Part

XMPP—Extensible Messaging and Presence Protocol

As will be described below, user interfaces are provided via which auser can assign speed dial numbers (or characters) to contacts. After aspeed dial address (e.g., a single or multi-digit number or single ormulti-character string) is assigned (e.g., via a visual interface, avoice interactive user interface, or otherwise), the user can enter thespeed dial address (e.g., via a key press or vocally using a POTSlandline phone, a mobile phone, an IP phone or otherwise), and thecorresponding contact number will be automatically dialed. Optionally,the user can enter the speed dial number followed by ‘#’ to complete theentry. Optionally, if ‘#’ is not entered, a telecommunication systemdevice (e.g., a switch) waits a short time period after a digit isentered, configurable by the customer or service provider (e.g., threeseconds, four seconds, or other specified time period), to see ifadditional digits will be entered, and if addition digits are notentered within the time period, the device proceeds with a speed dial.

FIG. 1 illustrates an example advanced telecommunications networkenvironment.

A carrier (e.g., a Carrier Partner who is a partner or has anarrangement with a third party call processing operator in providingenhanced call processing services) customer has one or more landlinephones that connect to an SSP 104 (Service Switching Point) in thecarrier's network 106. The user/customer may also have one or moremobile phones 134 and one or more hosts (e.g., personal computers, smartphones, interactive televisions, networked game consoles, etc.)executing a telecommunications client 136. The telecommunications client136 has one or more user interfaces that optionally display some or allof the following: a call log, a contact record/list, and active,in-progress calls, and speed dial assignments. The customer can elect toscreen or take an active call (e.g., where the customer hears the callerrecording a message by the softswitch via a half-duplex streaming of themessage to the client 136, but where the caller cannot hear thecustomer). Optionally, calls can also be made via the telecommunicationsclient 136 (e.g., where the host is equipped with a speaker andmicrophone).

Some or all of the foregoing client capabilities can optionally beprovided via one or more web pages, widgets, gadgets, or other userinterfaces. Further, optionally a subscriber can configure certainaspects of their account, such as speed dial assignments, ringbacksignal assignments, busy signal assignments, call routing prioritiesand/or other instructions, via the telecommunications client 136, anaccount configuration/set-up web page (e.g., hosted by the softswitch114), a widget, a gadget, or otherwise.

A speed dial address assignment is optionally configured by using thecontact list accessible from the telecommunications client 136, via aWeb page (e.g., part of a website hosted by the softswitch or carrier),or otherwise. When a contact is added or edited, each phone number entryfor the contact has the option of specifying a speed dial address andattributes (e.g., private caller ID enabled on an outcall). A drop downlist (or other presentation) of available speed dial numbers/addressesis presented from which the customer can select. By way of example,optionally, one of the entries is “None”. If there is a limit on thenumber of speed dial numbers (e.g., a limit imposed by the carrierand/or the softswitch operation), and the limit has been reached, anotification indicates that no more speed dial numbers are available(e.g., “None available”) is presented to the customer (e.g. via thetelecommunications client or a Web page).

A speed dial number may optionally be configured through a telephoneuser interface. For example, if a user attempts to use a speed dialnumber (e.g., presses a telephone key for longer than a predeterminedamount of time, enters no more than a certain number of digits andpauses, enters no more than a certain number of digits and presses the‘#’ key) to place a call, and a speed dial number has not beenconfigured for the entered digits, the softswitch 114 prompts the caller(e.g., via a synthesized voice or prerecorded message) to enter (e.g.,via a key press or by audible speech) a speed dial number in thisnon-configured situation. The number entered will be optionally besynchronized with one or more telecommunication clients running on oneor more of the user's terminals.

A customer may optionally configure their speed dial number by sending,forwarding, or replying to an SMS or MMS message (or other messagingservice, such as an instant messaging service) to a unique address. Forexample, if a user sends an SMS text message to “*2” and includes aphone number in the body of the message. The message is routed to thesoftswitch which parses the message and updates/replaces the secondentry in the customer's speed dial list.

Speed dial destination phone addresses can include, by way of exampleand not limitation, a SIP address, a Skype address, an XMPP address,other IP device address, a wireless phone number, an Internationalnumber, or an E.164 phone number. Furthermore, the network used by thesoftswitch to receive or place calls can include, but are not limited tothe PSTN, a wireless network, and/or VoIP network.

In this example, the softswitch 114 has one or more components, some ofwhich are optionally centralized at a given location, others of whichmay be co-located in the carrier's network (e.g., to reduce networktransport costs). The SCP 116 (Service Control Point) is an AINcomponent that interacts with the SSPs 104 (e.g., using the TCAPprotocol). AIN triggers are optionally armed for the customer's landlinephone number/address/account so that when calls are made to or from thatphone 132 (e.g., a POTS landline phone that communicates via a switchedcircuit network such as the PSTN 108), a trigger fires and causes theSSP 104 to query the SCP 116 for instructions on how to handle the call.The SCP 116 is optionally also configured to perform TCAP queries toother SS7 components as needed by some services (e.g., request AutomaticCallback from another carrier's switch when a line becomes idle) or toprovision certain features.

In another embodiment, SS7 Wireless Intelligent Network (WIN) triggersand features are set in the mobile switches of Wireless Carrier Partnersto provide similar calling services but for a customer's mobile phonenumber/address/account.

The softswitch 114 also optionally contains one or more systems 126,referred to herein as call managers. The call managers 126 are connectedto the PSTN 108 (e.g., via ISDN using the ISUP (ISDN User Part)protocol, by way of example). The call managers 126 service or providesome or all of the following: provide a call screening service whenscreening is to be provided, record a message from a caller that is tobe recorded, provide a voice prompt or message that is to be played to acaller and/or called party, record a facsimile document that needs to berecorded in a database, detect speech or DTMF tones, convert speech thatneeds to be converted to text, and/or provide an inbound/outboundgateway between the SS7 network and SIP networks. The example callmanager 126 optionally can also act as an IP (Intelligent Peripheral),another AIN component that the SCP 116 can instruct the SSP 104 toconnect into the call for interaction with the called and calling party.The IP/call managers 126 and SCPs 116 in the softswitch 114 optionallyshare a Call Registry that stores information about active calls.

The session managers 126 in the softswitch 114 track telecommunicationclient 136 presence and interact with a given telecommunications client136 (e.g., a personal computer client) as call log, contact, and/orcustomer data need to be synchronized with the centralized databases toprovide the customer, via the client 136, with updated log, contact,and/or customer data. The session managers 126 also optionally providethe SCP 116 with service configuration information for the customerinvolved in a call. During an active call, the SCP 116 and/or IP/callmanager 126 optionally directly interact with the telecommunicationsclient 136 to provide call progress information, and to stream audio tothe client 126.

The softswitch 114 in this example contains centralized databases and/orgeneral-purpose storage areas, optionally including, but not limited to,some or all of the following: a call log database 118, a contactsdatabase 120, and a customer database 122. The call log database 118stores call events and related data for incoming and outgoing calls. Thecontacts database 120 stores information and parameters (e.g., names,identifiers, and/or phone numbers/addresses, etc.) associated with acalled or calling party. The customer database 122 stores informationand parameters (e.g., account data and configuration information)associated with subscribers/customers. A customer account can be enabledfor the speed dial service in the customer database 122. In addition,speed dialing assignments are optionally also stored (e.g., theassignment of one or more key pad numbers or characters to a phonenumber) in the contacts database 120, the customer database 122 (e.g.,in association with a customer account), and/or other databases.

The softswitch call processing system 114 optionally includes one ormore other subsystems, such as some or all of the following: a routersubsystem, which serves as an interface to the Internet to managecommunications between online IP client devices and one or more callprocessing servers, a web server subsystem to manage a “website”associated with the softswitch 114 (e.g., via which a user can access anaccount set-up/configuration user interface, a speed dial assignmentuser interface, a call log 118, a contacts database 120, etc., using abrowser or other network user interface), etc. These foregoingsubsystems are optionally interconnected via a Local Area Network (LAN),a Wide Area Private Network (WAN), and/or a Wide Area Public Network(e.g., Internet).

The call manager 126 can communicate with the mobile phones 134 acrossthe PSTN 108 over a wireless network 112 via the corresponding MSC 110.The softswitch 114 (e.g., via the call manager 126 and session manager124) can communicate over the Internet 128 with telecommunicationsclient 136, browsers, widgets, etc.

FIG. 2 depicts an example scenario in which a customer configures aspeed dial number for a contact (e.g., a frequently called contact, suchas, by way of example, a spouse's work phone) and then dials the speeddial number from their landline phone 132 (e.g., a landline phoneconnected to a telephone line assigned to the customer). The examplecall handling sequence scenario of FIG. 2 is now described in moredetail:

State 1. A customer, using a telecommunications client 136 (or a Webpage accessed from the softswitch 114, optionally after logging in tothe customer's account by providing a password and/or a user ID, or viaa widget or plug-in), edits the contact list entry for the customer'sspouse and enters ‘2’ (or other number/letter combination) as the speeddial number or code for the spouse's work phone. By way of example, thiscontact entry may have been manually entered or may have beenautomatically created in the customer's address book or contact listwhen the spouse called home previously. In this example, thetelecommunications client 136 is hosted on a personal computer,although, as similarly described above, the telecommunications client136 can be hosted on other terminal types, such as an interactivetelevision, a smart phone, a game console, or other host.

Optionally, the customer can also specify a privacy designation (e.g.,block or do not block Caller ID) for each speed dial (e.g., so that whena corresponding speed dial is dialed, the customer's phone number willor will not be displayed to the dialed party via a display (e.g., acaller ID display) in accordance with the privacy designation). Theprivacy designation is stored in association with the correspondingspeed dial entry. This enables the customer to selectively and, forfuture calls, automatically enable/disable caller ID blocking fordifferent called parties.

State 2. The telecommunications client 136 optionally stores the newspeed dial number in memory (e.g., a hard disk drive) on the host, andthen synchronizes with a contacts database 120 (e.g., hosted on thesoftswitch 114) via the session manager 126 to store the new speed dialnumber assignment data in the contacts database 120 for broader accessby the customer (e.g., via a browser or a telecommunications client 136on a different host).

If the customer entered the speed dial number as a character string(e.g., the spouse's initials to make the speed dial assignment easier toremember), optionally the session manager 126 automatically translatesthe character string into corresponding key pad numbers (e.g., A, B,C=1, D, E, F=2, etc.), and stores the corresponding number(s).Optionally, the translation is transmitted to the client 136 for displayto the user.

State 3. The session manager 124 identifies/recognizes the speed dialchange (e.g., by comparing the new speed dial assignment with a previousspeed dial assignment or lack of assignment), which triggers the sessionmanager 124 to cause a message request to be transmitted to the SCP 116to update a corresponding speed dial list in the Service Switching Point(SSP 104) servicing the customer's landline phone 132.

State 4. The SCP 116 sends a message (e.g., an AIN Update message) tothe SSP 104 requesting to add or activate a ‘2’ speed dial entry for thecustomer's line. The SSP 104 stores this information in a databasecontaining the customer's account settings (e.g., in a speed dialtable).

State 5. Sometime later, the customer picks up their landline phone 132and dials ‘2’ (or provides an equivalent command, e.g., a voicecommand), wherein the ‘2’ key press is held for a period previouslydesignated by the carrier and/or the customer (e.g. via the client 132,a web page, a widget, or otherwise), and/or the key press is followed by‘#’ or other key press designated by the carrier. Optionally, if ‘2’ isdialed via a voice command, if the customer speaks the number ‘2’ and isquiet for a designated period of time (e.g., designated by the carrierand/or the customer), the carrier interprets the number as a speed dialnumber. In addition or instead, if the customer states a specifiedphrase prior to and/or after speaking the speed dial number (e.g., thephrase “speed dial”) the carrier interprets the spoken number as a speeddial number.

State 6. The SSP 104 or telephonic device 132 interprets the dialednumber as a speed dial number (e.g., because the key press was held fora designated period of time and/or because the dialed number wasfollowed by a “#” key press; Optionally, if ‘2’ is dialed via a voicecommand, if the customer speaks the number ‘2’ and is quiet for adesignated period of time, the carrier interprets the number as a speeddial number. In addition or instead, if the customer states a specifiedphrase prior to and/or after speaking the speed dial number (e.g., thephrase “speed dial”) the carrier interprets the spoken number as a speeddial number.). The SSP 104 looks the dialed number up in the customer'sspeed dial table, and translates it to the actual phone address to bedialed. The SSP 104 connects to the actual phone address (e.g., thespouse's work phone 202) and the ringing of the actual number begins.

In an optional embodiment, at state 5 above, when the customer picks uptheir landline phone 132, this optionally triggers the transmission of amessage from the SSP 104 using a protocol (e.g., TransactionCapabilities Application Protocol (TCAP)) to the SCP 116. In response,the SCP 116 optionally connects the IP/Call Manager 126 to detect thecustomer entered speed dial command (e.g., dialed “2” or spokencommand). Upon receipt of a command including the phone addressassociated with the customer selected speed dial identifier, the SCP 116sends a message to the SSP 104 directing the SSP 104 to route theoutbound call to the phone address associated with the customer selectedspeed dial identifier and to optionally set other conditional triggersfor this call (e.g., O_Answer and O_Discconect_Called).

The SSP 104 dials the called party phone number/address and presentsringback (the audible ringing that is heard on the telephone line by thecalling party after dialing and prior to the call being answered at thedistant end) to the customer. The called party answers the phone, andthe answer condition triggers an event (e.g., O_Answer), whichoptionally results in a notification message regarding the answercondition being transmitted from the SSP 104 to the SCP 116. When thecall ends, a trigger (e.g., O_Disconnect_Called) fires causing the SSP104 to optionally query the SCP 116 via query message (e.g., a TCAPmessage) indicating the occurrence of a call ending condition. The SCP116 optionally responds to the SSP 104 with a message to disconnect thecall (e.g., Disconnect). The SCP 116 optionally logs the call (includingbut not limited to some or all of the following information: the callstart and end times, call duration, calling and called partyidentifiers/phone addresses, etc.) in the call log database 118 andupdates the call frequency data for the given contact.

The call progress of the call placed using speed dial is optionallyreported from the softswitch 114 over a data network (e.g., the Internet128) to the telecommunication client 136 (and/or via a Web page) fordisplay to the customer. Example call progress status can optionallyinclude but is not limited to: off-hook, calling (specified number),ringing, answer, connected, caller hung up, and terminated call.

The speed dial process can operate in the following example carrierenvironments wherein a carrier (e.g., a carrier partner):

-   -   identifies which customers are to have this service enabled and        identifies the corresponding point code of the SSP serving the        customer's landline.    -   enables the speed dial (also referred to as. speed calling)        feature in the SSP for a designated customer.    -   enables the softswitch to administer the speed dial numbers for        the customer via its SCP.    -   assigns a dedicated list of PSTN routable speed dial proxy phone        numbers.

In another example speed dialing scenario, depicted in FIG. 3, a serviceprovider pre-configures a customer's mobile cell phone to route calls todesignated numbers which correspond to entries in their speed dial list.This example optionally does not utilize the SSP 104/SCP 116 integrationdescribed in the above example. This second call handling sequencescenario is now described in more detail with reference to FIG. 3:

State 1. A service provider pre-configures a customer's mobile phone 134to speed dial a phone number that terminates on the service provider'ssoftswitch 114. For example, a service provider can pre-configure acustomer's mobile phone 134 to call the following phone numbers when thecorresponding number is speed dialed:

-   -   Speed dial 0 calls 775-555-1200    -   Speed dial 1 calls 775-555-1201    -   Speed dial 2 calls 775-555-1202    -   Speed dial 3 calls 775-555-1203    -   Speed dial 4 calls 775-555-1204    -   Speed dial 5 calls 775-555-1205    -   Speed dial 6 calls 775-555-1206    -   Speed dial 7 calls 775-555-1207    -   Speed dial 8 calls 775-555-1208    -   Speed dial 9 calls 775-555-1209

State 2. A customer using a telecommunications client, such as client136 (or other interface, such as a browser accessing a web page) editsthe contact list entry for a given contact (e.g., the customer's spouse)and enters ‘2’ (or other number or letter combination) as the speed dialnumber or code for the spouse's work phone. The contact entry may havebeen selected by the customer clicking on an entry in a list/table ofcontacts, typing a name in to a search field, or otherwise.

By way of example, the selected contact entry may have been manuallyentered or may have been automatically created in the address book orcontact list when the spouse called home previously. Optionally, thecustomer can also specify a privacy designation (e.g., block or do notblock Caller ID) for each speed dial (e.g., so that when a correspondingspeed dial is dialed, the customer's phone number will or will not bedisplayed to the dialed party via a display (e.g., a caller ID display)in accordance with the privacy designation). Optionally, the customercan create new speed dial entries (e.g., Speed Dial 10 calls775-555-1234) via a mobile phone interface or via an external userinterface, such as the telecommunications client 136 hosted on apersonal computer or other host (e.g., a personal computer, interactivetelevision, smart phone, game console, etc.), via a browser, widget,gadget, or otherwise.

State 3. The telecommunications client 136 optionally stores the newspeed dial number and the corresponding privacy designation, if any, inhost memory (e.g., a hard disk drive. flash memory, etc.), and thensynchronizes with a contacts database 120 (e.g., hosted on thesoftswitch 114) via the session manager 124 to store the new speed dialnumber assignment data in the contacts database 120 for broader accessby the customer (e.g., via a browser or a telecommunications client 136on a different host). If the customer entered the speed dial number as acharacter string (e.g., the spouse's initials to make the speed dialassignment easier to remember), optionally the session manager 124translates the character string into corresponding key pad numbers(e.g., A, B, C=1), and stores the corresponding number(s).

State 4. Sometime later, the customer picks up their mobile phone 134and dials ‘2’.

State 5. A call is placed from the wireless provider (e.g., via thewireless network 112) to a pre-configured number established by theservice provider. In this example, a call is placed to 775-555-1202. Thecall routes through the PSTN 108 to the softswitch 114, and the callterminates on the call manager 124 using SS7 signaling or otherappropriate signaling. All or selected portions of the signalinginformation associated with the call is received by the call manager 126including but not limited to some or all of the following: called number(in this example, 775-555-1202), calling party number, call privacyrestrictions (e.g., whether the call is designated as private, wherein aprivate designation causes the caller Caller ID information not to beprovided to the called party), call forwarding number if any, callforwarding reason, and call jurisdiction.

State 6. The softswitch call manager 126 queries the softswitch sessionmanager 124 to obtain service configuration, contact records, and callrouting rules for the call, as desired. Signaling information associatedwith the inbound call is included in the query.

State 7. The session manager 124 verifies the calling phone number isthat of a customer (e.g., a subscriber of a service offered by theoperator of the softswitch 114 and/or other entity having an accountassociated with the softswitch 114), optionally by determining if thecalling phone number or other identifier associated with the callingparty matches a customer number in the customer database 122 (whichstores customer account records). The session manager 124identifies/recognizes the called number as a speed dialing proxy numberand retrieves the number to be called using the customer's speed dialtable. The phone address to be called is passed in a message to the callmanager 126.

State 8. The call manager 126 places an outbound call to the spouse'swork phone, optionally configuring the SS7, or other appropriatesignaling information such that the call appears as if it is originatingfrom the mobile phone 134 with the privacy indicator set to thatspecified in the speed dial table (or if privacy is not specified, theprivacy configuration of the mobile phone or mobile phone number).

State 9. The call manager 126 bridges the inbound call and the outboundcall.

Optionally, in the example above, if the customer speed dials a numberbefore setting up a routing number, the call manager 126 will prompt thecaller for a number to be called. The phone address entered by thecaller will be called, stored in the contacts database 120 associatedwith the customer, synchronized with the telecommunications client 136,and optionally stored on the customer's host terminal (e.g., in a localcontacts database).

Optionally, in the example above, if the calling phone number is notthat of a customer, the call is rejected (e.g., at state 7 above by thesoftswitch session manager 124) with a busy signal or with a recordederror message.

Optionally in the example above, the mobile phones 134 are notpre-configured with phone number proxies. Instead, the customer may beprovided with instructions on how to configure Speed Calling to theinitial phone number proxies.

Optionally in the examples above, the speed dial list offers otheradvantages to the service provider and customer. For example, theservice provider can terminate the call from the mobile caller andsubstantially immediately call the customer back on another network(e.g., a VoIP network which may be owned by the service provider), callthe intended called party, and bridge the two calls together. This canreduce the customer's usage of minutes associated with the customer'scell phone service, and hence reduce the call cost to the customer incertain instances.

The service provider can optionally also offer other advantages to thecustomer beyond the convenience of calling using abbreviated dialing.For example, all or selected phone numbers on a customer's speed diallist can be optionally designated as “free” calls, wherein the customerwill not be charged for the call and/or a certain numbers of callminutes to the designated number are not charged to the customer. Inanother example, a call originating via a speed dial list can be enabledwith active call transfer during the call. By way of example, if thecall initiates on a mobile phone but later the caller is at work, thecustomer may transfer the active call by a command (e.g., key press 2)to their work phone (utilizing methods and apparatus described in U.S.patent application Ser. No. 10/439,601, filed May 16, 2003, and entitled“Systems and Methods for Call Screening”, incorporated herein byreference). In yet another example, the service provider can optionallyprovide Camp-On services speed dialed calls (utilizing methods andapparatus described in U.S. patent application Ser. No. 11/734,174,filed Apr. 11, 2007, incorporated herein by reference).

As discussed above, the speed dial service can be used compatibly withother services, such as call logging/alerting, bridged outcall, andproactive camp-on, which are also described in patent applicationsincorporated herein by reference.

FIG. 4A illustrates an example user interface which can be presented toa user by a telecommunications client hosted on a user terminal, via aWeb page accessed from telecommunications service provider website, orotherwise. The illustrated user interface displays a call log, wherein acall log entry optionally includes the date and time the call wasreceived and if the caller's phone address is not private, the source ofthe call (e.g., an icon indicating whether the call was placed from theuser's home, work, mobile, or fax phone address), the caller's phoneaddress and/or name or other identifier, and an indication as to whethera given caller left a message or fax and the message length (e.g., inseconds or pages, as appropriate). Controls are provided via which auser can play, fast forward, rewind, or pause a recorded message. Adelete control is provided via which a user can delete one or moremessages.

A contacts area displays at least a portion of a contact record for acontact (e.g., a contact corresponding to a selected log entry orotherwise selected). By way of example, the contact record can includesome or all of the following: contact name, address, email address, SMSaddress, speed dial number(s)/letters assigned to the contact, notes,and other information. An edit control is provided, which whenactivated, causes the contact record to be editable, wherein the editedcontact record can then be saved into the contact database discussedherein. A “new” control is provided for creating a new contact record.

A talk control is provided, which when activated enables the user totake an incoming call via the client/browser host. A status area isprovided that indicates the status of a call (e.g., ringing, playinggreeting, recording caller message, terminating call) to the user (ifany), from the user (if any), and/or indicates whether the userinterface and/or host is ready to receive and or place a call (e.g.,“Ready for Calls”).

FIG. 4B illustrates an example user interface for editing a contact. Theuser interface includes fields for the contact name, phone numbers,corresponding phone number types (e.g., work, cell, home, fax, Skype,other IP destination, etc.), physical address, email address, and speeddial assignment. In this example, activation of the speed dial drop downarrow will cause a list of unassigned speed dial numbers within a rangeof numbers (e.g., within a range of 1-9, 1-30, 10-100, etc.) to bedisplayed.

Optionally instead, activation of the speed dial drop down arrow willcause a list of both assigned and unassigned speed dial numbers within arange of numbers to be displayed. Optionally, the list will indicate(e.g., via text, highlighting, an icon, or otherwise) which numbers arecurrently assigned. Optionally, if the user selects an already assignednumber, the user will be notified that the number has already beenassigned and asked to confirm that the user wants to reassign theselected number. If the user elects to reassign the selected number(e.g., by clicking on an “OK” control), the reassignment will be storedby the softswitch in the appropriate database, and the updated speeddial assignments will be transmitted by the softswitch to the carrierSSP as similarly discussed above. The menu optionally lists only validor authorized keypad number assignments (e.g., as permitted by thecarrier, such as 2-9, 2-30, 2-100, etc.). Optionally, the user canspecify (e.g., via an account setup parameter or a control displayed onthe user interface) whether all valid or authorized keypad numberassignments are to be listed, or just those that have not yet beenassigned.

FIG. 5 illustrates another example speed dial assignment user interface,which can be presented to a user by a telecommunications client hostedon a user terminal, via a Web page accessed from telecommunicationsservice provider website, or otherwise. In this example, the user canselect a contact via a scrollable menu listing contacts in a contactsdatabase associated with the user. If there is more than one phoneaddress for a given contact (e.g., home, work, and mobile phonenumbers), optionally each number can be listed in the menu inassociation with the contact's name, or a contact record can optionallypop-up listing each of the recorded phone addresses, and optionallyproviding other information (e.g., SMS address, email address, physicaladdress, etc.). Optionally, if the user wants to assign a phone addressthat is not in the user's contacts database, the user can manually typein the phone address and optionally a corresponding contact name andoptionally activate a control to store the new contact and phone addressin the user's contacts database.

Referring again to FIG. 5, a speed dial field is used via which the usercan select the telephone keypad number(s) that are to be associated withthe phone address selected in the contact field. Optionally, the keypadnumber assignment can be selected via a scrollable menu. The menuoptionally lists all valid or authorized keypad number assignments(e.g., as permitted by the carrier, such as 2-9, 2-30, 2-100, etc.), oronly those valid or authorized keypad numbers that have not yet beenassigned (e.g., 7-9). Optionally, the user can specify (e.g., via anaccount setup parameter or a control displayed on the user interface)whether all valid or authorized keypad number assignments are to belisted, or just those that have not yet been assigned. Optionally, ifthe user attempts to assign a contact to an already assigned speed dial,a warning to that effect is presented to the user (e.g., via a dialogbox), and the user is asked to confirm the new assignment or to cancelthe new assignment.

Optionally, the user can type in the speed dial assignment as a number(e.g., one or more digits, such as up to 5 digits, 9 digits or othernumber) or as an alphanumeric string (e.g., wife, Joe, Jan, K9, etc.),as might be desirable for mnemonic purposes. Optionally, the string maybe limited to a certain number of characters (e.g., 4, 6, 9, 10, 12, 15,20, or other number of characters). Optionally, the user can beprevented or notified if the user enters a letter that is not reflectedon a telephone keypad (e.g., that is not present on a POTS telephonekeypad, such as the letter ‘Q’). Optionally, the user can be asked ifthe user wants to map a letter that is not reflected on a telephonekeypad to a user specified keypad number (e.g., ‘Q’=7). If the userenters in a speed dial assignment that is not purely numeric, optionallythe telecommunications client or system will translate the text intocorresponding keypad numbers and present that translation to the user(e.g., via the client or browser), and optionally the translation willbe stored in the speed dial assignment record associated with the user.

An “enable privacy” field is provided via which a user can specifywhether caller ID blocking (or other privacy procedure) is to be enabledfor calls to the corresponding contact. For example, if a user enablesprivacy for calls to a specified destination, then when a correspondingspeed dial is dialed, the customer's phone number will not be providedto the dialed party (e.g., via a display, such as a caller ID display).

FIG. 6 illustrates another example user interface that displays a calllog, wherein a call log entry optionally includes the date and time thecall was received and if the caller's phone address is not private, thesource of the call (e.g., an icon indicating whether the call was placedfrom the user's home, work, mobile, or fax phone address), the caller'sphone address and/or name or other identifier. A “new call” areadisplays the number of new calls the user has received. A contacts areadisplays at least a portion of a contact record for a contact (e.g., acontact corresponding to a selected log entry or otherwise selected). Byway of example, the contact record can include some or all of thefollowing: contact name, address, email address, SMS address, name ofringback signal assigned to the contact, notes, and other information.An edit control is provided, which when activated, causes the contactrecord to be editable, wherein the edited contact record can then besaved into the contact database discussed herein. A “new” control isprovided for creating a new contact record. Optionally, this userinterface can display a speed dial assignment, as similarly discussedabove.

Optionally, the speed dial assignments performed using the example userinterfaces can be used with different types of lines and telephonicdevices serviced by different carriers. For example, the speed dialassignment can be used with a mobile cell phone serviced by a wirelesscarrier, and can be used with a landline phone serviced by a landlinecarrier. This enables a user to optionally utilize the same speed dialnumbers across the user's telephonic devices, without having to reenterthe speed dial assignments for each carrier.

FIG. 7 illustrates another example call log user interface presented viaa browser to a customer. The browser can be executing on a computerterminal, such as a personal computer, a browser equipped/WirelessApplication Protocol (WAP)-enabled phone, a PDA, an interactivetelevision, a video game system, or the like. The call log can beaccessed by supplying the appropriate URL to the browser and optionallyproviding log-on information, such as a user name and a password.Optionally, this user interface can display a speed dial assignment, assimilarly discussed above.

FIG. 8A illustrates an example widget user interface displaying callinformation for the most recent received call. The user interfaceincludes the name/identifier (if available) of the caller, the date ofthe call, the time of the call, and the connect time, length of messageleft (if any), or length of fax received (if any). An expand control isprovided to expand the size and/or amount of information displayed. Anaccount control is provided, which when activated causes an accountmanagement Web page to be presented. A feedback control is providedwhich, when activated, causes a form to be presented via which the usercan submit feedback to the system operator/provider (e.g., like anddislikes regarding the system and services, problem issues, etc.),access a help interface, and/or access answers to frequently askedquestions. A “see all calls” control is provided, which when activated,causes the user interface to list numerous past calls (e.g., all pastcalls, all past call received in a certain time period whose entrieshave not been deleted, a certain number of past calls, etc.), optionallyin a scrollable user interface.

FIG. 8B illustrates an example expanded version of the user interfaceillustrated in FIG. 8A. The example view displays the calling number (ifavailable) and a message playback status bar.

Thus, certain example embodiments are described that provide enhancedmethods and systems for assigning speed dial addresses, and forutilizing the assigned speed dials address for calling called parties.Certain optional embodiments enable a user to utilize a visual and/oraudible user interface in assigning speed dial numbers/text. Optionally,a user interface may be presented to the user via a personal computer orother terminal.

It should be understood that certain variations and modifications ofthis invention would suggest themselves to one of ordinary skill in theart. The scope of the present invention is not to be limited by theillustrations or the foregoing descriptions thereof.

What is claimed is:
 1. A method of enabling a user to assign speed dialaddresses, the method comprising causing at least in part a first userinterface to be displayed to a user via a user data device including adisplay, the first user interface providing: a name field configured todisplay and/or receive a contact name associated with a respectivecontact; a phone address field configured to display and/or receive acontact phone address associated with the respective contact; a speeddial field configured to receive and/or display a speed dial identifierassociated with the contact phone address, for a first contact,receiving from the user via the user interface an association between afirst phone address and a first speed dial identifier, wherein the usercan utilize the first speed dial identifier to initiate a call to thefirst phone address via a first plurality of telephonic devices servicedby corresponding different telecommunications systems; for a secondcontact, receiving from the user via the user interface an associationbetween a second phone address and a second speed dial identifier,wherein the user can utilize the second speed dial identifier toinitiate a call to the second phone address via the first plurality oftelephonic devices serviced by the corresponding differenttelecommunications systems; receiving, from a user telephonic device, auser selected speed dial identifier at a call processing system, theuser telephonic device being different than the user data device;causing, at least in part, an outbound call to be placed, wherein: ifthe received user selected speed dial identifier is the first speed dialidentifier, an outbound call is placed to the first phone addressassociated with the first speed dial identifier; if the received userselected speed dial identifier is the second speed dial identifier, anoutbound call is placed to the second phone address associated with thesecond speed dial identifier; and causing, at least in part, thetelephonic device of the user to be connected with the outbound call. 2.The method as defined in claim 1, the method further comprising causingat least in part a contact record for the first contact to be displayedto the user, the contact record including the first speed dialidentifier and a physical address.
 3. The method as defined in claim 1,wherein the first user interface includes a field via which the user canindicate if a calling phone address associated with the user is to bekept private for calls placed to the respective contact.
 4. The methodas defined in claim 1, wherein, after the association between the firstphone address and the first speed dial identifier is stored, when theuser enters the first speed dial identifier by speaking the first speeddial identifier into one or more user telephonic devices, the firstphone address is called.
 5. The method as defined in claim 1, whereinthe name field is prepopulated for at least one contact using, at leastin part, a query into a name database using signaling informationassociated with a call from the at least one contact.
 6. The method asdefined in claim 1, wherein the phone address field is prepopulated forat least one contact using signaling information from a call from thefor at least one contact.
 7. The method as defined in claim 1, themethod further comprising providing a messaging interface via which theuser can configure at least one speed dial identifier by transmitting atext message to a first address.
 8. The method as defined in claim 1,wherein the first plurality of telephonic devices includes a mobiletelephonic device.
 9. The method as defined in claim 1, wherein thefirst plurality of telephonic devices includes a mobile telephonicdevice and a landline telephonic device.
 10. A method of enabling a userto assign speed dial addresses, the method comprising causing at leastin part a first user interface to be displayed to a user via a user datadevice including a display, the first user interface providing: a namefield configured to display and/or receive a contact name associatedwith a respective contact; a phone address field configured to displayand/or receive a phone address associated with the respective contact; aspeed dial field configured to receive and/or display a speed dialidentifier associated with the phone address, receiving from the uservia the user interface an association between a first phone address anda first speed dial identifier for a first contact; storing at a callprocessing system the association between the first phone address andthe first speed dial identifier for the first contact; receiving fromthe user via the user interface an association between a second phoneaddress and a second speed dial identifier for a second contact; storingat the call processing system the association between the second phoneaddress and the second speed dial identifier for the second contact;receiving, from a user telephonic device, a user selected speed dialidentifier at the call processing system, the user telephonic devicebeing different than the user data device; and if the received userselected speed dial identifier is the first speed dial identifier:causing at least in part an outbound call to be placed to the firstphone address associated with the first speed dial identifier, andcausing, at least in part, the telephonic device of the user to beconnected with the outbound call placed to the first phone address. 11.The method as defined in claim 10, the method further comprising causingat least in part a contact record for the first contact to be displayedto the user, the first contact record including the first speed dialidentifier and a physical address.
 12. The method as defined in claim10, wherein the first user interface includes a field via which the usercan indicate if a calling phone address associated with the user is tobe kept private for calls placed to the respective contact.
 13. Themethod as defined in claim 10, wherein when, after the associationbetween the first phone address and the first speed dial identifier isstored, the user enters the first speed dial identifier by speaking thefirst speed dial identifier into one or more user telephonic devices,the first phone address is called.
 14. The method as defined in claim10, wherein the name field for at least one contact is prepopulatedusing, at least in part, a query into a name database using signalinginformation associated with a call from the at least one contact. 15.The method as defined in claim 10, wherein the phone address field forat least one contact is prepopulated using signaling information from acall from the for at least one contact.
 16. The method as defined inclaim 10, the method further comprising providing a messaging interfacevia which the user can configure at least one speed dial identifier bytransmitting a text message to a first address.
 17. A system enabling auser to assign speed dial addresses, the system comprising: one or morecomputing devices; nontransitory computer readable memory that storesprogram code that, when executed by the one or more computing device,performs operations comprising: causing at least in part a first userinterface to be displayed to a user via a user data device including adisplay, the first user interface providing: a name field configured todisplay and/or receive a contact name associated with a respectivecontact; a phone address field configured to display and/or receive aphone address associated with the respective contact; a speed dial fieldconfigured to receive and/or display a speed dial identifier associatedwith the phone address, receiving from the user via the user interfacean association between a first phone address and a first speed dialidentifier for a first contact; storing at a call processing system theassociation between the first phone address and the first speed dialidentifier for the first contact; receiving from the user via the userinterface an association between a second phone address and a secondspeed dial identifier for a second contact; storing at the callprocessing system the association between the second phone address andthe second speed dial identifier for the second contact; receiving, froma user telephonic device, a user selected speed dial identifier at thecall processing system, the user telephonic device being different thanthe user data device; and if the received user selected speed dialidentifier is the first speed dial identifier: causing at least in partan outbound call to be placed to the first phone address associated withthe first speed dial identifier, and causing, at least in part, thetelephonic device of the user to be connected with the outbound callplaced to the first phone address.
 18. The system as defined in claim17, the operations further comprising causing at least in part a contactrecord for the first contact to be displayed to the user, the firstcontact record including the first speed dial identifier and a physicaladdress.
 19. The system as defined in claim 17, wherein the first userinterface includes a field via which the user can indicate if a callingphone address associated with the user is to be kept private for callsplaced to the respective contact.
 20. The system as defined in claim 17,wherein the system is configured to prepopulate the name field for atleast one contact using, at least in part, a query into a name databaseusing signaling information associated with a call from the at least onecontact.
 21. The system as defined in claim 17, wherein the system isconfigured to prepopulate the phone address field for at least onecontact using signaling information from a call from the for at leastone contact.
 22. The system as defined in claim 17, the operationsfurther comprising providing a messaging interface via which the usercan configure at least one speed dial identifier by transmitting a textmessage to a first address.